home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / app / ApplicationPreferences.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  9.6 KB  |  467 lines

  1. package com.extensibility.app;
  2.  
  3. import com.extensibility.util.Debug;
  4. import com.extensibility.xml.URI;
  5. import java.awt.Component;
  6. import java.awt.Font;
  7. import java.io.File;
  8. import java.io.FileInputStream;
  9. import java.io.FileNotFoundException;
  10. import java.io.FileOutputStream;
  11. import java.io.IOException;
  12. import java.io.OutputStream;
  13. import java.util.Enumeration;
  14. import java.util.Hashtable;
  15. import java.util.Properties;
  16. import java.util.Vector;
  17.  
  18. public class ApplicationPreferences extends Properties {
  19.    public static final String PREF_FILENAME = "_Preferences";
  20.    public static final String RECENT = "RECENT.";
  21.    public static final String RECENT_1 = "RECENT.1";
  22.    public static final String RECENT_2 = "RECENT.2";
  23.    public static final String RECENT_3 = "RECENT.3";
  24.    public static final String RECENT_4 = "RECENT.4";
  25.    public static final String RECENT_5 = "RECENT.5";
  26.    public static final String PLATFORM = "os.name";
  27.    public static final String MACOS = "Mac";
  28.    public static final String USER_NAME_CODE = "ESB";
  29.    public static final String ORGANIZATION_CODE = "KKB";
  30.    public static final String EMAIL_CODE = "EMC";
  31.    public static final String PHONE_CODE = "PHC";
  32.    public static final String SN_CODE = "CAB";
  33.    public static final String LAUNCHES_LEFT = "EGB";
  34.    public static final String REG_SENT = "RGS";
  35.    public static final String OEM_PARTNER_KEY = "OEM";
  36.    public static final String TOOLBAR_VIEW = "TOOLBAR.VIEW";
  37.    public static final String ONLINE_HELP = "ONLINE.HELP";
  38.    public static final String EXTERNAL_HELP_BROWSER = "EXTERNAL.HELP.BROWSER";
  39.    public static final String SHOW_WELCOME = "SHOW.WELCOME";
  40.    public static final String SHOW_LEFT_PANE = "SHOW.PANE.LEFT";
  41.    public static final String SHOW_BOTTOM_PANE = "SHOW.PANE.BOTTOM";
  42.    public static final String LOOK_AND_FEEL = "LOOK.AND.FEEL";
  43.    public static final String DEBUG_LEVEL = "DEBUG.LEVEL";
  44.    public static final String BROWSER_PATH = "BROWSER.PATH";
  45.    public static final String INTEGRATION_PORT = "INTEGRATION.PORT";
  46.    public static final String OPEN_FROM_BASE = "OPEN.FROM.BASE";
  47.    public static final String SAVE_TO_BASE = "SAVE.TO.BASE";
  48.    public static final String APP_FONT = "APP.FONT";
  49.    public static final String DOC_FONT = "DOC.FONT";
  50.    public static final String SRC_FONT = "SRC.FONT";
  51.    public static final String LEFT_MARGIN = "MARGIN.LEFT";
  52.    public static final String RIGHT_MARGIN = "MARGIN.RIGHT";
  53.    public static final String TOP_MARGIN = "MARGIN.TOP";
  54.    public static final String BOTTOM_MARGIN = "MARGIN.BOTTOM";
  55.    public static final String TRUE = "TRUE";
  56.    public static final String FALSE = "FALSE";
  57.    public static final String ASK = "ASK";
  58.    private static final int[] LAUNCH_CODES = new int[]{31125, 43689, 37155, 20886, 19965, 20629, 54337, 21610, 50456, 45926, 57251};
  59.    public static final String SOX_SCHEMA_PATH = "SOX.SCHEMA.PATH";
  60.    static File file;
  61.    public static final String DEFAULT_FILE_TYPE = "DEFAULT.FILE.TYPE";
  62.  
  63.    public void readInitial(File var1) {
  64.       FileInputStream var2 = null;
  65.  
  66.       try {
  67.          if (file == null) {
  68.             file = var1;
  69.          }
  70.  
  71.          var2 = new FileInputStream(file);
  72.          ((Properties)this).load(var2);
  73.          var2.close();
  74.       } catch (FileNotFoundException var6) {
  75.          this.initialize();
  76.       } catch (IOException var7) {
  77.          DialogFactory.showException((Component)null, 121, var7);
  78.          this.initialize();
  79.          if (var2 != null) {
  80.             try {
  81.                var2.close();
  82.             } catch (IOException var5) {
  83.             }
  84.          }
  85.       }
  86.  
  87.    }
  88.  
  89.    private void initialize() {
  90.       ((Hashtable)this).put("RECENT.1", "");
  91.       ((Hashtable)this).put("RECENT.2", "");
  92.       ((Hashtable)this).put("RECENT.3", "");
  93.       ((Hashtable)this).put("RECENT.4", "");
  94.       ((Hashtable)this).put("RECENT.5", "");
  95.       ((Hashtable)this).put("ESB", "");
  96.       ((Hashtable)this).put("KKB", "");
  97.       ((Hashtable)this).put("CAB", "");
  98.       ((Hashtable)this).put("SHOW.WELCOME", "TRUE");
  99.       ((Hashtable)this).put("ONLINE.HELP", "TRUE");
  100.  
  101.       try {
  102.          this.save();
  103.       } catch (IOException var2) {
  104.          ((Throwable)var2).printStackTrace();
  105.          DialogFactory.showException((Component)null, 108, var2);
  106.       }
  107.  
  108.    }
  109.  
  110.    public void save() throws IOException {
  111.       FileOutputStream var1 = null;
  112.  
  113.       try {
  114.          var1 = new FileOutputStream(file);
  115.          ((Properties)this).save(var1, String.valueOf(UI.getString("splash.title")).concat(String.valueOf(" preferences")));
  116.       } finally {
  117.          if (var1 != null) {
  118.             ((OutputStream)var1).close();
  119.          }
  120.  
  121.       }
  122.  
  123.    }
  124.  
  125.    public String getLookAndFeel() {
  126.       String var1 = ((Properties)this).getProperty("LOOK.AND.FEEL");
  127.       if (var1 == null) {
  128.          String var2 = System.getProperty("os.name");
  129.          return var2.startsWith("Mac") ? "it.unitn.ing.swing.plaf.macos.MacOSLookAndFeel" : "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
  130.       } else {
  131.          return var1;
  132.       }
  133.    }
  134.  
  135.    public void updateLookAndFeel(String var1) {
  136.       ((Hashtable)this).put("LOOK.AND.FEEL", var1);
  137.    }
  138.  
  139.    public Font getAppFont() {
  140.       String var1 = (String)((Hashtable)this).get("APP.FONT");
  141.       return var1 == null ? new Font("SansSerif", 0, 11) : Font.decode(var1);
  142.    }
  143.  
  144.    public void updateAppFont(Font var1) {
  145.       ((Hashtable)this).put("APP.FONT", String.valueOf(String.valueOf(var1.getName()).concat(String.valueOf("-"))).concat(String.valueOf(var1.getSize())));
  146.    }
  147.  
  148.    public Font getDocFont() {
  149.       String var1 = (String)((Hashtable)this).get("DOC.FONT");
  150.       return var1 == null ? null : Font.decode(var1);
  151.    }
  152.  
  153.    public void updateDocFont(Font var1) {
  154.       ((Hashtable)this).put("DOC.FONT", String.valueOf(String.valueOf(var1.getName()).concat(String.valueOf("-"))).concat(String.valueOf(var1.getSize())));
  155.    }
  156.  
  157.    public void updateDocFont(int var1) {
  158.       if (var1 == -1) {
  159.          ((Hashtable)this).remove("DOC.FONT");
  160.       } else {
  161.          Font var2 = this.getDocFont();
  162.          String var3 = var2 == null ? "SansSerif" : var2.getName();
  163.          ((Hashtable)this).put("DOC.FONT", String.valueOf(String.valueOf(var3).concat(String.valueOf("-"))).concat(String.valueOf(var1)));
  164.       }
  165.  
  166.    }
  167.  
  168.    public void updateDocFont(String var1, int var2) {
  169.       if (var1 == null) {
  170.          var1 = "SansSerif";
  171.       }
  172.  
  173.       if (var2 == -1) {
  174.          ((Hashtable)this).put("DOC.FONT", var1);
  175.       } else {
  176.          ((Hashtable)this).put("DOC.FONT", String.valueOf(String.valueOf(var1).concat(String.valueOf("-"))).concat(String.valueOf(var2)));
  177.       }
  178.  
  179.    }
  180.  
  181.    public void updateSrcFont(String var1, int var2) {
  182.       if (var1 == null) {
  183.          var1 = "SansSerif";
  184.       }
  185.  
  186.       if (var2 == -1) {
  187.          ((Hashtable)this).put("SRC.FONT", var1);
  188.       } else {
  189.          ((Hashtable)this).put("SRC.FONT", String.valueOf(String.valueOf(var1).concat(String.valueOf("-"))).concat(String.valueOf(var2)));
  190.       }
  191.  
  192.    }
  193.  
  194.    public Font getSrcFont() {
  195.       String var1 = (String)((Hashtable)this).get("SRC.FONT");
  196.       return var1 == null ? null : Font.decode(var1);
  197.    }
  198.  
  199.    public void updateSrcFont(Font var1) {
  200.       ((Hashtable)this).put("SRC.FONT", String.valueOf(String.valueOf(var1.getName()).concat(String.valueOf("-"))).concat(String.valueOf(var1.getSize())));
  201.    }
  202.  
  203.    public int getLaunchesLeft() {
  204.       String var1 = ((Properties)this).getProperty("EGB");
  205.       if (var1 == null) {
  206.          return 0;
  207.       } else {
  208.          int var2 = Integer.valueOf(var1);
  209.  
  210.          for(int var3 = 0; var3 < LAUNCH_CODES.length; ++var3) {
  211.             if (LAUNCH_CODES[var3] == var2) {
  212.                return var3;
  213.             }
  214.          }
  215.  
  216.          return 0;
  217.       }
  218.    }
  219.  
  220.    public void updateLaunchesLeft(int var1) {
  221.       Debug.assert(var1 >= 0 && var1 < LAUNCH_CODES.length, String.valueOf("invalid newLeft: ").concat(String.valueOf(var1)));
  222.       ((Hashtable)this).put("EGB", (new Integer(LAUNCH_CODES[var1])).toString());
  223.  
  224.       try {
  225.          this.save();
  226.       } catch (Exception var3) {
  227.       }
  228.  
  229.    }
  230.  
  231.    public void initTrialLaunchesLeft() {
  232.       ((Hashtable)this).put("EGB", (new Integer(LAUNCH_CODES[LAUNCH_CODES.length - 1])).toString());
  233.    }
  234.  
  235.    public boolean getOnlineHelp() {
  236.       String var1 = ((Properties)this).getProperty("ONLINE.HELP");
  237.       return var1 == null ? false : Boolean.valueOf(var1);
  238.    }
  239.  
  240.    public void updateOnlineHelp(boolean var1) {
  241.       ((Hashtable)this).put("ONLINE.HELP", (new Boolean(var1)).toString());
  242.    }
  243.  
  244.    public boolean getExternalHelpBrowser() {
  245.       String var1 = ((Properties)this).getProperty("EXTERNAL.HELP.BROWSER");
  246.       return var1 == null ? false : Boolean.valueOf(var1);
  247.    }
  248.  
  249.    public void updateExternalHelpBrowser(boolean var1) {
  250.       ((Hashtable)this).put("EXTERNAL.HELP.BROWSER", (new Boolean(var1)).toString());
  251.    }
  252.  
  253.    public boolean getShowWelcome() {
  254.       String var1 = ((Properties)this).getProperty("SHOW.WELCOME");
  255.       return var1 == null ? true : Boolean.valueOf(var1);
  256.    }
  257.  
  258.    public void updateShowWelcome(boolean var1) {
  259.       ((Hashtable)this).put("SHOW.WELCOME", (new Boolean(var1)).toString());
  260.    }
  261.  
  262.    public boolean getShowLeftPane() {
  263.       String var1 = ((Properties)this).getProperty("SHOW.PANE.LEFT");
  264.       return var1 == null ? false : Boolean.valueOf(var1);
  265.    }
  266.  
  267.    public void updateShowLeftPane(boolean var1) {
  268.       ((Hashtable)this).put("SHOW.PANE.LEFT", (new Boolean(var1)).toString());
  269.    }
  270.  
  271.    public boolean getShowBottomPane() {
  272.       String var1 = ((Properties)this).getProperty("SHOW.PANE.BOTTOM");
  273.       return var1 == null ? false : Boolean.valueOf(var1);
  274.    }
  275.  
  276.    public void updateShowBottomPane(boolean var1) {
  277.       ((Hashtable)this).put("SHOW.PANE.BOTTOM", (new Boolean(var1)).toString());
  278.    }
  279.  
  280.    public String[] getMargins() {
  281.       String[] var1 = new String[4];
  282.       String var2 = ((Properties)this).getProperty("MARGIN.LEFT");
  283.       if (var2 == null) {
  284.          var1[2] = "60";
  285.       } else {
  286.          var1[2] = var2;
  287.       }
  288.  
  289.       String var3 = ((Properties)this).getProperty("MARGIN.RIGHT");
  290.       if (var3 == null) {
  291.          var1[3] = "60";
  292.       } else {
  293.          var1[3] = var3;
  294.       }
  295.  
  296.       String var4 = ((Properties)this).getProperty("MARGIN.TOP");
  297.       if (var4 == null) {
  298.          var1[0] = "60";
  299.       } else {
  300.          var1[0] = var4;
  301.       }
  302.  
  303.       String var5 = ((Properties)this).getProperty("MARGIN.BOTTOM");
  304.       if (var5 == null) {
  305.          var1[1] = "60";
  306.       } else {
  307.          var1[1] = var5;
  308.       }
  309.  
  310.       return var1;
  311.    }
  312.  
  313.    public int getDebugLevel() {
  314.       String var1 = (String)((Hashtable)this).get("DEBUG.LEVEL");
  315.       if (var1 == null) {
  316.          return 0;
  317.       } else {
  318.          int var2 = Integer.valueOf(var1);
  319.          return var2;
  320.       }
  321.    }
  322.  
  323.    public String getBrowserPath() {
  324.       String var1 = (String)((Hashtable)this).get("BROWSER.PATH");
  325.       return var1;
  326.    }
  327.  
  328.    public String getOpenFromBase() {
  329.       String var1 = (String)((Hashtable)this).get("OPEN.FROM.BASE");
  330.       return var1;
  331.    }
  332.  
  333.    public void updateOpenFromBase(String var1) {
  334.       ((Hashtable)this).put("OPEN.FROM.BASE", var1);
  335.    }
  336.  
  337.    public String getSaveToBase() {
  338.       String var1 = (String)((Hashtable)this).get("SAVE.TO.BASE");
  339.       return var1;
  340.    }
  341.  
  342.    public void updateSaveToBase(String var1) {
  343.       ((Hashtable)this).put("SAVE.TO.BASE", var1);
  344.    }
  345.  
  346.    public void updateDebugLevel(int var1) {
  347.       ((Hashtable)this).put("DEBUG.LEVEL", (new Integer(var1)).toString());
  348.    }
  349.  
  350.    public void updateBrowserPath(String var1) {
  351.       if (var1 != null && var1.length() != 0) {
  352.          ((Hashtable)this).put("BROWSER.PATH", var1);
  353.       } else {
  354.          ((Hashtable)this).remove("BROWSER.PATH");
  355.       }
  356.  
  357.    }
  358.  
  359.    public void updateMargins(String[] var1) {
  360.       ((Hashtable)this).put("MARGIN.LEFT", var1[2]);
  361.       ((Hashtable)this).put("MARGIN.RIGHT", var1[3]);
  362.       ((Hashtable)this).put("MARGIN.TOP", var1[0]);
  363.       ((Hashtable)this).put("MARGIN.BOTTOM", var1[1]);
  364.    }
  365.  
  366.    public int getToolbarView() {
  367.       String var1 = ((Properties)this).getProperty("TOOLBAR.VIEW");
  368.       return var1 == null ? 1 : Integer.parseInt(var1);
  369.    }
  370.  
  371.    public void updateToolBarView(int var1) {
  372.       ((Hashtable)this).put("TOOLBAR.VIEW", (new Integer(var1)).toString());
  373.    }
  374.  
  375.    public void removeFromRecent(URI var1) {
  376.       String var2 = var1.getFullName();
  377.  
  378.       for(int var3 = 1; var3 <= 5; ++var3) {
  379.          String var4 = ((Properties)this).getProperty(String.valueOf("RECENT.").concat(String.valueOf(var3)));
  380.          if (var4 != null && var4.equals(var2)) {
  381.             ((Hashtable)this).remove(String.valueOf("RECENT.").concat(String.valueOf(var3)));
  382.             break;
  383.          }
  384.       }
  385.  
  386.       Vector var10 = new Vector();
  387.  
  388.       for(int var5 = 1; var5 <= 5; ++var5) {
  389.          String var6 = ((Properties)this).getProperty(String.valueOf("RECENT.").concat(String.valueOf(var5)));
  390.          if (var6 != null) {
  391.             var10.addElement(var6);
  392.             ((Hashtable)this).remove(String.valueOf("RECENT.").concat(String.valueOf(var5)));
  393.          }
  394.       }
  395.  
  396.       int var11 = 1;
  397.       Enumeration var7 = var10.elements();
  398.  
  399.       while(var7.hasMoreElements()) {
  400.          ((Hashtable)this).put(String.valueOf("RECENT.").concat(String.valueOf(var11++)), (String)var7.nextElement());
  401.       }
  402.  
  403.       try {
  404.          this.save();
  405.       } catch (Exception var9) {
  406.       }
  407.  
  408.    }
  409.  
  410.    public void updateRecent(URI var1) {
  411.       String var3 = var1.getFullName();
  412.  
  413.       int var2;
  414.       for(var2 = 5; var2 > 0; --var2) {
  415.          String var4 = ((Properties)this).getProperty(String.valueOf("RECENT.").concat(String.valueOf(var2)));
  416.          if (var4 != null && var4.equals(var3)) {
  417.             return;
  418.          }
  419.       }
  420.  
  421.       if (var2 == 0) {
  422.          for(int var8 = 5; var8 > 1; --var8) {
  423.             String var5 = ((Properties)this).getProperty(String.valueOf("RECENT.").concat(String.valueOf(var8 - 1)));
  424.             if (var5 != null) {
  425.                ((Hashtable)this).put(String.valueOf("RECENT.").concat(String.valueOf(var8)), var5);
  426.             }
  427.          }
  428.  
  429.          var2 = 1;
  430.       }
  431.  
  432.       ((Hashtable)this).put("RECENT.1", var3);
  433.  
  434.       try {
  435.          this.save();
  436.       } catch (Exception var6) {
  437.       }
  438.  
  439.    }
  440.  
  441.    public String getDefaultFileType() {
  442.       String var1 = (String)((Hashtable)this).get("DEFAULT.FILE.TYPE");
  443.       if (var1 == null) {
  444.          var1 = UI.getString("com.extensibility.app.defaultfiletype");
  445.       }
  446.  
  447.       return var1;
  448.    }
  449.  
  450.    public void updateDefaultFileType(String var1) {
  451.       ((Hashtable)this).put("DEFAULT.FILE.TYPE", var1);
  452.    }
  453.  
  454.    public String getSchemaPath() {
  455.       String var1 = (String)((Hashtable)this).get("SOX.SCHEMA.PATH");
  456.       return var1;
  457.    }
  458.  
  459.    public void updateSchemaPath(String var1) {
  460.       ((Hashtable)this).put("SOX.SCHEMA.PATH", var1);
  461.    }
  462.  
  463.    public void setGeneralPreference(String var1, String var2) {
  464.       ((Hashtable)this).put(var1, var2);
  465.    }
  466. }
  467.